#ifndef IOBJECT_H_
#define IOBJECT_H_

// All the different object types as flags to be |= together
enum eIObjects {eBaseObject = 1, eAnimatedObject = 2, eMoveableObject = 4, eInteractableObject = 8, eGraphicsObject = 16};

class IObject
{
private:

protected:
	unsigned long m_ulObjType;

public:

	IObject(void) 
	{
		m_ulObjType = eBaseObject;
	}
	virtual ~IObject(void) {}
	const unsigned long GetTypes(void) { return m_ulObjType; }
	const unsigned long IsType(eIObjects objType) { return (m_ulObjType & objType); }
	
};

#endif